Skip to content

Conversation

@NWilson
Copy link
Member

@NWilson NWilson commented Dec 11, 2024

These are only run after a PR is merged, not every time you push to a PR.

They use a third-party GitHub Action that starts up a VM using Qemu.

The Solaris one is cheating a little - I'm using GCC rather than Oracle Developer Studio's cc compiler, because that's a real pain to install. On the other hand, most people probably use GCC on Solaris now anyway, so maybe it is a fair test of whether our Solaris support is OK.

@NWilson NWilson force-pushed the user/niwilson/more-plats branch 2 times, most recently from 4dcb4ac to 784d017 Compare December 11, 2024 11:00
@NWilson NWilson force-pushed the user/niwilson/more-plats branch from 784d017 to 2271022 Compare December 11, 2024 11:30
@NWilson NWilson changed the title Add some more plats to our CI Add Solaris and FreeBSD to our CI Dec 11, 2024
@NWilson NWilson marked this pull request as ready for review December 11, 2024 11:32
Copy link
Contributor

@carenas carenas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a more convoluted version of this in the "solaris" branch in my fork that I didn't propose because it is too inefficient CPU wise, and we don't really know if Microsoft might eventually tighten the screws in their "free" plan.

This is IMHO a good place were a corporate sponsor and alternative CI providers might help, but will likely require more infrastructure work (including maybe setting a "non profit" or piggybacking on the ones that are around to help projects like us)

freebsd:
name: FreeBSD
runs-on: ubuntu-latest
if: github.event_name != "pull_request"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

presume trying to save some CPU time?

FWIW we could also use cirrus CI which provides native FreeBSD runners (hosted in google cloud) instead

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True. But I don't see a compelling need to switch, for now.

We'd still need a VM for Solaris.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cirrusci provides their own VMs which perform better than GitHub's

run: |
set -e
./configure --enable-jit --enable-pcre2-16 --enable-pcre2-32
gmake -j3 CPPFLAGS='-Wall -Wextra -Werror'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why did you force gmake?, their native make should work too IMHO, and it would be nice if we introduce some GNUism by mistake

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It failed with Solaris make, so I just used gmake. I didn't consider it important what make system works - as long as the code compiles & runs, we're fine.

But if you prefer using Solaris make, I'll try and fix it.

I've also decided to have an attempt at using Solaris cc rather than GCC.

@NWilson NWilson force-pushed the user/niwilson/more-plats branch 6 times, most recently from 81ac449 to 9d75c65 Compare December 11, 2024 14:29
@NWilson
Copy link
Member Author

NWilson commented Dec 11, 2024

OK, ready for review again. It's now using Oracle's SunStudio compiler (Sun cc), as well as their Solaris make.

@NWilson NWilson force-pushed the user/niwilson/more-plats branch from 9d75c65 to 877c52a Compare December 11, 2024 14:40
@NWilson
Copy link
Member Author

NWilson commented Dec 11, 2024

@diizzyy Daniel, just to let you know, I'm adding a FreeBSD runner to our master CI.

@diizzyy
Copy link
Contributor

diizzyy commented Dec 11, 2024

@NWilson
That's great, thanks! Are there any plans on adding CMake too?

@NWilson
Copy link
Member Author

NWilson commented Dec 11, 2024

I guess we could. However, we already have plenty of CI jobs using CMake, so we should be OK on that system. For the rarer unix platforms, it's simpler just to have one CI job that tests the lowest-common-denominator for the build; hence why I just tested the autotools build.

@NWilson NWilson merged commit 7a806ef into master Dec 12, 2024
33 checks passed
@NWilson NWilson deleted the user/niwilson/more-plats branch December 12, 2024 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants